offset 426AF0


data 55 8B EC 81 EC E4 00 00 00 8B 45 08 8B 48 04 83
data E1 01 74 0C 8B 55 08 C7 42 4C 02 00 00 00 EB 15
data 8B 45 08 8B 48 04 83 E1 04 74 0A 8B 55 08 C7 42
data 4C 00 00 00 00 8B 45 08 8B 48 74 89 8D 1C FF FF
data FF 83 BD 1C FF FF FF 00 74 1F 83 BD 1C FF FF FF
data 01 0F 84 A6 00 00 00 83 BD 1C FF FF FF 02 0F 84
data 27 01 00 00 E9 F8 01 00 00 8B 55 08 8B 7D 08 83
data 7F 4C 00 75 09 C7 47 10 00 FF FF FF EB 07 C7 47
data 10 00 01 00 00 FF 47 64 83 7F 64 08 7C 3C C7 47
data 64 01 00 00 00 83 7F 68 01 7D 08 83 7F 70 01 75
data 0B 74 19 C7 47 68 00 00 00 00 EB 1E C7 47 68 01
data 00 00 00 C7 47 70 01 00 00 00 EB 0E C7 47 68 02
data 00 00 00 C7 47 70 02 00 00 00 90 90 8B 45 08 0F
data B6 88 9C 00 00 00 85 C9 74 1E 8B 55 08 C7 42 6C
data 00 00 00 00 8B 45 08 C7 40 74 01 00 00 00 8B 4D
data 08 C7 41 68 03 00 00 00 E9 64 01 00 00 8B 55 08
data 8B 42 10 6B C0 07 99 83 E2 07 03 C2 C1 F8 03 8B
data 4D 08 89 41 10 8B 55 08 8B 42 6C 83 C0 01 8B 4D
data 08 89 41 6C 8B 55 08 83 7A 6C 28 7E 59 8B 45 08
data 0F B6 88 9C 00 00 00 85 C9 74 37 8B 55 08 C7 42
data 6C 00 00 00 00 8B 45 08 C7 40 74 02 00 00 00 8B
data 4D 08 C7 41 68 06 00 00 00 8B 55 08 C7 42 64 00
data 00 00 00 8B 45 08 C7 80 A4 00 00 00 05 00 00 00
data EB 14 8B 4D 08 C7 41 74 00 00 00 00 8B 55 08 C7
data 42 64 00 00 00 00 E9 D6 00 00 00 8B 45 08 83 78
data 4C 00 75 0C 8B 4D 08 C7 41 10 00 FC FF FF EB 0A
data 8B 55 08 C7 42 10 00 04 00 00 8B 45 08 8B 48 6C
data 83 C1 01 8B 55 08 89 4A 6C 8B 45 08 81 78 6C C8
data 00 00 00 7E 17 8B 4D 08 C7 41 74 00 00 00 00 8B
data 55 08 C7 82 A4 00 00 00 01 00 00 00 8B 45 08 8B
data 48 64 83 C1 01 8B 55 08 89 4A 64 8B 45 08 83 78
data 64 05 7E 19 8B 4D 08 C7 41 64 00 00 00 00 8B 55
data 08 8B 42 68 83 C0 01 8B 4D 08 89 41 68 8B 55 08
data 83 7A 68 05 7E 4B 8B 45 08 C7 40 68 04 00 00 00
data 6A 01 6A 1A E8 27 99 FF FF 83 C4 08 68 00 01 00
data 00 6A 00 6A 00 6A 00 6A 00 8B 4D 08 8B 51 0C 81
data C2 00 06 00 00 52 8B 45 08 8B 48 08 51 6A 04 E8
data 8C 82 04 00 83 C4 20 6A 08 E8 C2 85 FE FF 83 C4
data 04 8B 55 08 8B 42 14 83 C0 40 8B 4D 08 89 41 14
data 8B 55 08 81 7A 14 FF 05 00 00 7E 0A 8B 45 08 C7
data 40 14 FF 05 00 00 8B 4D 08 8B 51 08 8B 45 08 03
data 50 10 8B 4D 08 89 51 08 8B 55 08 8B 42 0C 8B 4D
data 08 03 41 14 8B 55 08 89 42 0C 8B 7D 08


XOR EDX,EDX
add edx, 0
nop 
nop
nop
CMP DWORD PTR DS:[EDI+4C],2
JNE SHORT 00426DAE
ADD EDX,18
MOV DWORD PTR DS:[EDI+58],EDX
ADD EDX,18
MOV DWORD PTR DS:[EDI+60],EDX
XOR EAX,EAX
MOV DWORD PTR DS:[EDI+54],EAX
MOV EAX,DWORD PTR DS:[EDI+68]
IMUL EAX,EAX,20
ADD EAX,0
ADD DWORD PTR DS:[EDI+54],EAX
ADD EAX,20
MOV DWORD PTR DS:[EDI+5C],EAX
MOV ESP,EBP
POP EBP
RETN
NOP

#define
Y_offset = 30
X_offset = 10
coin_X = 30
coin_Y = 30

Money_owned     = 499C5C
Money_displayed = 4937F4
max_money       = 3E7

#enddefine

// Some useful hex converstions to set the max money value
// 999    = 3E7
// 9999   = 270F
// 99999  = 1869F

PUSH EBP
MOV EBP,ESP
SUB ESP,10

cmp dword [money_owned], max_money
jl :money_not_overflowing
mov dword [money_owned], max_money
:money_not_overflowing

//coin counter render
mov eax [Money_displayed]
cmp eax,[Money_owned]
je :chink_end
jl :inc_money_display
//dec_displayed_money
dec [Money_displayed]
jmp :chink
:inc_money_display
inc [Money_displayed]
:chink
push 1
push E
call playsound  //chink
add esp, 8
:chink_end



mov eax [49E1E8]
and eax, 2
jnz :do_render_plz
CMP [49E1E8],3
JE  :do_render_plz
xor eax, eax
MOV [EBP-8],eax     //right
jmp :end_of_function

:do_render_plz
sub eax,eax    //render the "coin" sprite
mov al,e8
push eax
push 20
sub al,8
push eax
push 0
mov eax,esp
push 11
push eax
push dword Y_offset
push dword X_offset
push 48f91c
call 40c3c0


:display_money
PUSH 1
PUSH DWORD PTR DS:[Money_displayed]
PUSH coin_Y
PUSH coin_X
CALL 40F380
add esp, 10

:end_of_function
MOV ESP,EBP
POP EBP
RETN